package com.xayy.health.mgt.service;

import cn.kawins.base.result.CheckResult;
import cn.kawins.mybatis.BaseService;
import com.xayy.health.mgt.model.FaultInfo;
import com.xayy.health.mgt.model.dto.FaultInfoDto;

import java.util.Date;
import java.util.List;

/**
 * 故障信息表 业务层
 *
 * @author cuixidong
 * @version 1.0
 * @date 2023/4/6 13:53
 **/
public interface FaultInfoService extends BaseService<FaultInfo> {

    /**
     * 分类统计故障信息
     * @param faultInfoDto 入参信息
     * @return 故障信息
     */
    CheckResult<List<FaultInfo>> getFaultInfoList(FaultInfoDto faultInfoDto);

    /**
     * 引接第三方数据 入参信息
     * @return 结果日志信息
     */
    void leadFaultInfos();

    /**
     * 故障次数等级统计图
     * @param faultInfoDto 入参信息
     * @return 结果日志
     */
    CheckResult<?> statisticsFaultInfo(FaultInfoDto faultInfoDto);

    /**
     * 修改故障信息
     * @param faultInfo  故障信息
     * @return 结果日志
     */
    CheckResult<Object> updateFaultInfo(FaultInfo faultInfo);

    /**
     * 故障评分获取部件近一年故障信息列表
     * @param satId 卫星id
     * @param nodeId 节点id
     * @param endTime 结束时间
     * @return 故障信息集合
     */
    CheckResult<List<FaultInfo>> selectByArgs(Long satId, Long nodeId, Date endTime, Date startTime);
}
